home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ZED3DSRC.ZIP / CONTENTS < prev    next >
Text File  |  1995-06-19  |  3KB  |  71 lines

  1. Contents of the source directory of Zed3D.
  2.  
  3. (C) 1995 by Sébastien Loisel, All Rights Reserved.
  4.  
  5. CONTENTS        This file
  6. OBJECTS.PRJ     Project file for Borland C++ 3.1
  7. DOSFUNC.H       Header file for OS-Specific functions
  8. XFORMS.H        Header file for vector algebra routines
  9. OBJECTS.C       Object management routines
  10. OBJECTS.H       Header file for object management routines
  11. ZSORT.H         Header file for z sorting routines
  12. TEST.C          Test code
  13. MAKEFILE        Makefile for Zortech C++
  14. DRAWPOLY.H      Header file for polygon drawing routine
  15. DOSFUNC.C       OS-Specific functions
  16. XFORMS.C        Vector algebra routines
  17. ZSORT.C         Z sorting routines
  18. DRAWPOLY.C      Polygon drawing routine
  19. 3DS.C           3-D Studio ASCII file reading routines
  20. 3DS.H           Header file for 3-D Studio ASCII file reading routines
  21. OBJECTS.EXE     Executable test
  22. DUCK.ASC        Sample 3-D Studio ASCII file
  23.  
  24.  
  25. Some explanations
  26. =================
  27.  
  28. This code is not extremely fast, the reason is that it's mostly educational.
  29. It uses floating point, does not implement all algorithmic optimizations,
  30. and is pure-C.
  31.  
  32. Here is for a quick walk-through of the files herein.
  33.  
  34. XForms.H contains all you need to operate on vectors and matrices. Normally,
  35. you won't have to tamper with it.
  36.  
  37. Objects.H is the next step up. Objects.H #includes XForms.H, so if you
  38. #include <Object.h>, you don't need to #include <XForms.H>. With objects.h,
  39. you should be able to allocate memory for an object containing faces and
  40. vertices.
  41.  
  42. Zsort.H is the next step up, and it #includes <Object.h> so you don't have
  43. to #include <objects.h>. It implements a radix sort and sorts objects
  44. front-to-back.
  45.  
  46. DrawPoly.H is the polygon drawing code. Only one function is of external use,
  47. the polygon drawing function. All the rest is internal use.
  48.  
  49. 3DS.H will be very useful to some. It reads a 3-D Studio ASCII file into an
  50. object, initializing all relevant data, such as normal vectors.
  51.  
  52.  
  53. TEST.C is the sample code. It's not documented at this time. All test
  54. routines are labeled test_x, where x is any lowercase letter from a to g
  55. (I think). Each test routine tests a separate component. As it is now,
  56. main() calls test_g() and shows a rubber duck. If you want to understand
  57. how to use this library, examine closely test_g(), read_3ds_file() and
  58. maybe make_tetrahedron(). This should show you how to use the library.
  59.  
  60. I am aware that this 3d engine is primitive in a sense, that is, it does
  61. not implement the texture mapping, gouraud or phong shading, etc... The point,
  62. however, was to show how a basic 3d engine can be implemented. There are
  63. quite a few areas where the algorithm is not totally finished. For example,
  64. the zsort algorithm should have a postprocessing stage to make sure the
  65. ordering is correct, in some cases clipping the polygons in the process.
  66. Speaking of clipping polygons, as you will see, this has not been implemented.
  67. I have not implemented BSP trees, etc, etc, etc...
  68.  
  69. I hope this code can help you. If it does, please support the shareware
  70. concept and send your registration (see main text, 3d.doc).
  71.